Zmena BorderStyle v OnShow
Otázka od: Lebeda David
29. 9. 2004 14:34
Ahoj,
v OnShow formu potrebuji podle jistych okolnosti nastavit BorderStyle
formu na bsSingle nebo bsSizeable. Jenze Delphi tohle nechteji udelat
- dostanu vynadano, ze nesmim menit Visible v OnShow nebo OnHide.
Kdyz se to pokusim obejit tak, ze si pres PostMessage v OnShow
necham poslat svou vlastni zpravu a v jeji obsluze teprve menim
BorderStyle, tak to sice funguje, ale okno pri tom blikne. Jak tedy
mohu v OnShow menit BorderStyle tak, aby to slo bez rusivych efektu?
Diky
David Lebeda
Odpovedá: Ondrej Kelle
29. 9. 2004 14:51
> v OnShow formu potrebuji podle jistych okolnosti nastavit BorderStyle
> formu na bsSingle nebo bsSizeable. Jenze Delphi tohle nechteji udelat
> - dostanu vynadano, ze nesmim menit Visible v OnShow nebo OnHide.
> Kdyz se to pokusim obejit tak, ze si pres PostMessage v OnShow
> necham poslat svou vlastni zpravu a v jeji obsluze teprve menim
> BorderStyle, tak to sice funguje, ale okno pri tom blikne. Jak tedy
> mohu v OnShow menit BorderStyle tak, aby to slo bez rusivych efektu?
Zmena BorderStyle sposobi uvolnenie a znovuvytvorenie okna, takze dost
tazko. Mozno by sa dalo vytvorit nejake docasne okno s kopiou bitmapy
povodneho okna, ktorym ho na tu dobu prekryjes.
HTH
TOndrej
Odpovedá: Flaska Jakub
29. 9. 2004 17:52
> v OnShow formu potrebuji podle jistych okolnosti nastavit BorderStyle
> formu na bsSingle nebo bsSizeable. Jenze Delphi tohle nechteji udelat
Nevytvarej ten formular pri spusteni ale az kdyz budes vedet BorderStyle v
runtime.
if not Assigned(MujForm) then begin
Application.CreateForm(TMujForm, MujForm);
MujForm.BorderStyle := bsSigle;
end;
MujForm.Show;
Jakub Flaska
Odpovedá: Vlastimil Burian
29. 9. 2004 18:20
SendMessage(Handle, WM_SETREDRAW, 0, 0);
BorderStyle := bsNone;
SendMessage(Handle, WM_SETREDRAW, 1, 0);
-----------------
v OnShow formu potrebuji podle jistych okolnosti nastavit BorderStyle
bez rusivych efektu?